package OOA.com.JavaBasis.inherit;
/*
* 在继承关系中，父子类的构造方法访问需要注意的点：
*
* 1.子类构造方法中是默认有一个父类的无参构造调用的【指的是子类构造方法中的第一句隐藏了super（）这句话】
* 所以很好的解释了：在构造子类的时候，是要优先构造父类
* 2.子类是可以通过super关键字来进行父类构造方法的调用
* 在一个构造方法中，super的调用只能出现一次
* 3.super调用的构造方法，必须位于子类构造方法的第一行
* 4.如果父类中没有无参构造，子类的构造方法中就不会隐式的提供super（）
*
* */
public class ConstructionDemo {
    public static void main(String[] args) {

        Zi zi = new Zi();
    }
}
class Fu{
    public Fu(int a){
        System.out.println("父类构造方法开始执行");
    }
}
class Zi extends Fu{
    public Zi(){
        //隐藏了一句super(),super()调用的是父类的无参构造
        //super()
        super(2);//如果父类的构造方法是有参的，则需要自己加入参数
        System.out.println("子类构造方法开始执行");
    }
}